/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.type;

import java.util.regex.Pattern;

/**
 *
 * @author CEABSF
 */
public class CEP {

    private String infoRegiao;
    private String idDistribuicao;

    public CEP(String infoRegiao, String idDistribuicao) throws Exception {
        if(CEP.isValid(infoRegiao+idDistribuicao)){
            this.infoRegiao = infoRegiao;
            this.idDistribuicao = idDistribuicao;
        }
        else
             throw new Exception("Erro: "+infoRegiao+idDistribuicao+" nao esta no formato valido de um CEP !");
    }

    public String getIdDistribuicao() {
        return idDistribuicao;
    }

    public void setIdDistribuicao(String idDistribuicao) {
        this.idDistribuicao = idDistribuicao;
    }

    public void setInfoRegiao(String infoRegiao) {
        this.infoRegiao = infoRegiao;
    }

    public String getInfoRegiao() {
        return infoRegiao;
    }

    public CEP(String cep) throws Exception {
        cep = cep.replace("-", "");
        cep = cep.replace(".", "");
        
        if (CEP.isValid(cep)) {
            this.infoRegiao = cep.substring(0, 5);
            this.idDistribuicao = cep.substring(5, 8);
        }
        
        else
             throw new Exception("Erro: "+cep+" nao esta no formato valido de um CEP !");
    }

    //M�todo que valida o Cep
    public static boolean isValid(String cep) {
        cep = cep.replace("-", "");
        cep = cep.replace(".", "");        
                
        return Pattern.matches("\\d{8}", cep);
    }
    
    @Override
    public String toString()
    {
        return this.getInfoRegiao()+"-"+this.getIdDistribuicao();
    }
}
